Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

помогите оптимизировать запрос на выбор данных, выбор данных на основе парсинга урл чпу (americanets)
Author Message
americanets
Заглянувший



Joined: 07 Apr 2007
Posts: 6
Карма: 0
   поощрить/наказать


PostPosted: Mon Dec 24, 2007 4:02 pm (написано за 18 секунд)
   Post subject: помогите оптимизировать запрос на выбор данных, выбор данных на основе парсинга урл чпу
Reply with quote

у меня есть таблица
Code (SQL): скопировать код в буфер обмена
CREATE TABLE `pages` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `website_title` text,
  `website_description` text,
  `name_url` varchar(255) NOT NULL DEFAULT '',
  `menu_neme` varchar(255) NOT NULL DEFAULT '',
  `content` text,
  `number` int(11) NOT NULL DEFAULT '0',
  `level` int(11) NOT NULL DEFAULT '0',
  `parent` bigint(20) NOT NULL DEFAULT '0',
  `site` varchar(10) NOT NULL DEFAULT '',
  PRIMARY KEY  (`id`),
  FULLTEXT KEY `content` (`content`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
у меня ЧПУ, для выборки использую такой запрос
Code (php): скопировать код в буфер обмена
<?php
$full_url = preg_replace (www.php.net/preg_replace)("/\?.*$/", "", $_SERVER["REQUEST_URI"]);
$full_url = preg_replace (www.php.net/preg_replace)("/\/$/","",$full_url);
$full_url = preg_replace (www.php.net/preg_replace)("/^\//","",$full_url);
$urls = preg_split (www.php.net/preg_split)("/\//",$full_url);
if($full_url==""){$parent = 0;}
else{
$sql = "SELECT * FROM `pages` WHERE `site`='$siteidentification' LIMIT 1";
$result = $Db->query($sql);
$st = $Db->fetch_array($result);
$parent = $st['id'];
}
for ($n=0; $n<=count (www.php.net/count)($urls)-1; $n++) {
$sql = "SELECT * FROM `pages` WHERE `site`='$siteidentification' AND`parent`=$parent AND `name_url`='$urls[$n]';";
$result = $Db->query($sql);
if( $Db->num_rows( $result ) == 0 )
{
header (www.php.net/header)("Location: /404/");
}
if ($contentsite = $Db->fetch_array($result)){
$parent = $contentsite['id'];
$content = $contentsite['content'];
//
}
else {break;}
}
?>
можно ли его упростить, сам уже замучился, постоянно использовать данный запрос накладно, тк и других хватает
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML